package com.bean.variables;

import lombok.Data;

import java.io.Serializable;
import java.util.ArrayList;
import java.util.List;


/**
 * 描述 用于 NC 内核的批量实时数据
 * 支持自动更新 是
 * 请求参数  <sub> 需指定为 sample
 *  <time> 指定每次应答间隔，单位毫秒
 *  <var1> 采集 1 的变量名
 *  <var2> 采集 2 的变量名
 * ……
 *  <var8> 采集 8 的变量名
 *  < period 1> 采集 1 的选项（0—每次应答 1 个数据，1—
 * 每次应答所有缓存数据）
 *  < period 2> 采集 2 的选项（0—每次应答 1 个数据，1—
 * 每次应答所有缓存数据）
 * ……
 *  < period 8> 采集 8 的选项（0—每次应答 1 个数据，1—
 * 每次应答所有缓存数据）
 * 变量名需要采用“物理轴名/通道名/子系统名+’_’+数据索
 * 引” 的命名方法。数据索引定义如下：
 * 应答参数  <var1> 采集 1 的数据（数据间以’ ;’分隔）
 *  <var2> 采集 1 的数据（数据间以’ ;’分隔）
 * ……
 *  <var8> 采集 1 的数据（数据间以’ ;’分隔）
 *
 * 例子 每指定应答间隔采集一个数据，客户端发送：
 * <variables><req>yes</req><st>nc1</st><req>yes</req>
 * <auto>yes</auto><sub>sample</sub><time>100</time>
 * <var1>X_24</var1><period1>0</period1><var2>Y_24</var2>
 * <period2>0</period2></variables>
 * 服务端返回应答：
 * <variables><sub>sample</sub><auto>yes</auto>
 * <time>100</time><var1>0</var1><var2>0</var2></variables>
 * 每指定应答间隔采集所有缓存数据，客户端发送：
 * <variables><req>yes</req><st>nc1</st><req>yes</req>
 * <auto>yes</auto><sub>sample</sub><time>100</time>
 * <var1>X_24</var1><period1>1</period1><var2>Y_24</var2>
 * <period2>1</period2></variables>
 * 服务端返回应答：
 * <variables>
 *     <sub>sample</sub>
 *     <auto>yes</auto>
 *     <time>100</time>
 *     <var1>0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;
 * 0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;
 * 0;0;</var1>
 *
 * <var2>0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;
 * 0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;0;
 * </var2>
 *
 * </variables>
 */


@Data
public class AutoData_Variables implements Serializable {
    /*机床状态*/
    private String cnc_state;

    /* 第 1 路变量采集 数值类型*/
    private List<String> var1 = new ArrayList<>();

    /* 第 2 路变量采集 */
    private List<String> var2 = new ArrayList<>();

    /* 第 3 路变量采集 */
    private List<String> var3 = new ArrayList<>();

    /* 第 4 路变量采集 */
    private List<String> var4 = new ArrayList<>();

}
